<?php

class LicensesController extends AppController {

    var $name = 'Licenses';

    function beforeFilter() {
        parent::beforeFilter();

        // Aplico el Layout segun la Vista o si es AJAX
        if ($this->RequestHandler->isAjax()) {
            $this->layout = 'ajax';
        } else {
            // Cambio la Vista por la del Rol
            $this->layout = strtolower($this->Session->read('VistaActual'));
        }
    }

    function index() {
        $this->_accede('abm_licencias');

        $this->License->recursive = 0;

        $licenses = $this->License->find('all', array(
            'conditions' => array(
                'License.client_id' => $this->Session->read('ClientesUsuarioLogueado.id'),
            ),
            'order' => array('License.fecha_desde'),
                ));

        $this->set('licenses', $licenses);
    }

    function view($id = null) {
        $this->_accede('abm_licencias');

        if (!$id) {
            $this->Session->setFlash(__('Invalid license', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('license', $this->License->read(null, $id));
    }

    function add() {
        $this->_accede('abm_licencias');

        if (!empty($this->data)) {

            $this->License->create();

            // Seteo datos que no vienen del Formulario
            $this->License->set(array(
                'client_id' => $this->Session->read('ClientesUsuarioLogueado.id'),
            ));


            if ($this->License->save($this->data)) {
                $this->Session->setFlash(__('La Licencia ha sido cargada', true));
                $this->redirect('/clients/view/' . $this->Session->read('ClientesUsuarioLogueado.id') . '/5');
            } else {
                $this->Session->setFlash(__('La Licencia no pudo ser cargada. Por favor, intente nuevamente.', true));
            }
        }

        // Obtengo el Listado de Profesionales del Cliente
        $users = $this->requestAction('/users/obtenerListadoDoctores/' . $this->Session->read('ClientesUsuarioLogueado.id'));

        $days = $this->License->Day->find('list');
        $this->set(compact('users', 'days'));
    }

    function edit($id = null) {
        $this->_accede('abm_licencias');

        if (!$id && empty($this->data)) {
            $this->Session->setFlash(__('Invalid license', true));
            $this->redirect(array('action' => 'index'));
        }
        if (!empty($this->data)) {
            if ($this->License->save($this->data)) {
                $this->Session->setFlash(__('The license has been saved', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('The license could not be saved. Please, try again.', true));
            }
        }
        if (empty($this->data)) {
            $this->data = $this->License->read(null, $id);
        }
        $users = $this->License->User->find('list');
        $clients = $this->License->Client->find('list');
        $days = $this->License->Day->find('list');
        $this->set(compact('users', 'clients', 'days'));
    }

    function delete($id = null) {
        $this->_accede('abm_licencias');

        if (!$id) {
            $this->Session->setFlash(__('La Licencia no es válida', true));
            $this->redirect('/clients/view/' . $this->Session->read('ClientesUsuarioLogueado.id') . '/5');
            exit;
        }
        if ($this->License->delete($id)) {
            $this->Session->setFlash(__('La Licencia fue borrada.', true));
            $this->redirect('/clients/view/' . $this->Session->read('ClientesUsuarioLogueado.id') . '/5');
            exit;
        }
        $this->Session->setFlash(__('La Licencia no se pudo borrar', true));
        $this->redirect('/clients/view/' . $this->Session->read('ClientesUsuarioLogueado.id') . '/5');
        exit;
    }

}

?>